home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Java for 3D & VRML Worlds
/
Java for 3d and VRML Worlds.iso
/
examples
/
chap04
/
TalkativeAgent.java
< prev
next >
Wrap
Text File
|
1996-09-19
|
1KB
|
37 lines
//
// an agent talks when you click him.
//
import java.util.*;
import vrml.*;
import vrml.node.*;
import vrml.field.*;
public class TalkativeAgent extends Script{
SFTime startTalking1;
SFTime startTalking2;
Random randomNumGenerator = new Random();
public void initialize(){
// get the reference of the event out 'startTalking1'.
startTalking1 = (SFTime)getEventOut("startTalking1");
// get the reference of the event out 'startTalking2'.
startTalking2 = (SFTime)getEventOut("startTalking2");
}
public void processEvent(Event e){
if(e.getName().equals("invoked") == true){
double touchTime = ((ConstSFTime)e.getValue()).getValue();
// select one of two phrases randomly.
if(randomNumGenerator.nextDouble() > 0.5){
// start the agent talking phrase1.
startTalking1.setValue(touchTime);
}else{
// stop the agent talking phrase2.
startTalking2.setValue(touchTime);
}
}
}
}